package xyz.ag.Service.impl;

import java.sql.SQLException;
import java.util.ArrayList;

import xyz.ag.Beans.User;
import xyz.ag.Beans.Shoppingcart;
import xyz.ag.DAO.CartAndOrderDAOInterface;
import xyz.ag.DAO.impl.BookDAOInterfaceImpl;
import xyz.ag.DAO.impl.CartAndOrderDAOInterfaceImpl;
import xyz.ag.DAO.impl.UserDAOInterfaceImpl;
import xyz.ag.Service.CartAndOrderServiceInterface;

public class CartAndOrderServiceInterfaceImpl implements CartAndOrderServiceInterface {
	CartAndOrderDAOInterface CAODAOI = new CartAndOrderDAOInterfaceImpl();

	@Override
	public Integer addtocar(String bookname, User user) {
		User auser = new UserDAOInterfaceImpl().getAlluesrMessageByUser(user);
		String bookid = "";
		try {
			bookid = new BookDAOInterfaceImpl().getOneBookIDforName(bookname);
		} catch (SQLException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		return CAODAOI.addtocar(Integer.parseInt(bookid),auser.getUserID());
	}

	
	/**
	 * 查询单个用户的购物车信息总数
	 * 用来实现一个购物车的查询效果
	 * 这里改变参数 将用户转换为用户id
	 */
	@Override
	public String getshpooingcarListNmuber(User user) {
		//数据聚合 增加用户信息
		User nuser = new UserDAOInterfaceImpl().getAlluesrMessageByUser(user);
		return CAODAOI.getshpooingcarListNmuber(nuser.getUserID());
	}


	/**
	 * 购物车列表查询方法
	 * 用来查询购物车的列表信息
	 * 中转session用户对象 获得用户id
	 * 增补数据 完成封装
	 */
	@Override
	public ArrayList<Shoppingcart> getShoppingcarLimitpageList(String page, String number,User user){
	
			// TODO 自动生成的方法存根
			User nuser =new UserDAOInterfaceImpl().getAlluesrMessageByUser(user);
			//转换用户id
			try {
				ArrayList<Shoppingcart> shopcarlist = CAODAOI.getShoppingcarLimitpageList(Integer.parseInt(page), Integer.parseInt(number),nuser.getUserID());
				for (Shoppingcart shoppingcart : shopcarlist) {
					String booknamene =  new BookDAOInterfaceImpl().getOneBookNameforID(shoppingcart.getBooKID());//数据聚合 添加图书名
					shoppingcart.booknamene(booknamene);
					String Bookprice = new BookDAOInterfaceImpl().getOneBookPriceforID(shoppingcart.getBooKID());//数据聚合 添加图书价格
					shoppingcart.setPrice(Bookprice);
				}
				return shopcarlist;
			} catch (Exception e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			} 
		return null;
	}


	/**
	 * ajax的支持方法 用于添加购物车条目的数量
	 */
	@Override
	public Integer shoppingcarknumberentryadd(String entryID) {
		
		return CAODAOI.shoppingcarknumberentryadd(Integer.parseInt(entryID));
	}
	

	/**
	 * ajax的支持方法 用于减少购物车条目的数量
	 */
	@Override
	public Integer shoppingcarknumberentrysub(String entryID) {
		
		return CAODAOI.shoppingcarknumberentrysub(Integer.parseInt(entryID));
	}
	
	/**
	 * ajax的支持方法 用于删除购物车条目的数量
	 */
	@Override
	public Integer shoppingcarknumberentryrem(String entryID) {
		
		return CAODAOI.shoppingcarknumberentryrem(Integer.parseInt(entryID));
	}
}
